The rapid expansion of information service and data processing industries has resulted in a need for computer systems to manage and store large amounts of data. As an example, financial service industry businesses such as banks, mutual find companies or the like often operate large and complex data processing systems that require access to many hundreds of gigabytes or even terabytes of data. Data storage system developers have responded to these types of data storage requirements by integrating large capacity data storage systems, data communications devices and computer systems into networks called “storage networks” or “storage area networks” (SANs.) A storage area network is a collection of data storage systems that are networked with a number of host computer systems that operate as servers to access data stored in the data storage systems.
Elements of a typical conventional storage area network implementation include one or more connectivity devices such as high speed data switches or routers that interconnect the various data storage systems to each other and to one or more host or server computer systems (servers) that require access to (e.g., read and/or write) the data in the data storage systems on behalf of client software applications and/or client computer systems.
A developer or administrator of such a storage area network environment may install one or more distributed storage area network management software applications within the storage area network to manage or administer the various elements (i.e., devices, computer systems, storage systems, etc.) that operate within the storage area network. A network manager (i.e., a user) responsible for management of the storage area network operates the network management software application to perform management tasks such as performance monitoring, network analysis and remote configuration and administration of the various components operating within the storage area network.
A typical conventional storage area network management software application may have several different software components that execute independently of each other on different computer systems but that collectively interoperate together to perform network management. As an example, conventional designs of storage area network management applications can include console, server, agent and storage software components.
Generally, the server component operates as a central control process within the storage area network management application and coordinates communication between the console, storage and agent components. The console component often executes within a dedicated storage area network management workstation to allow the network administrator to visualize and remotely control and manage the various elements within the storage area network that are graphically represented within the console. Certain console applications include Graphical User Interface (GUI) software programs that enable network managers to graphically manage, control and configure various types of hardware and software resources or managed entities associated with a corresponding managed network. In one conventional storage area network management application, rendering the graphical user interface enables the network manager to graphically select, interact with, and manage local or remote devices and associated software processes operating in the network. More specifically, based on use of the graphical user interface in combination with an input device such as a hand operated keyboard and/or mouse and corresponding pointer displayed on a viewing screen, a network manager is able to manage hardware and software entities such as storage devices, peripherals, network data communications devices, and so forth associated with the network. Typically, in such network management applications, a network manager may select a displayed icon representing a corresponding resource (i.e., a managed resource) in the storage area network and apply a management command in order to display corresponding management information.
Enterprise Storage Networks or Storage Area Networks (SANs) are large and complex environments that include various elements such as storage arrays, switches, hosts and databases all inter-networked. These elements may exist in number by the hundreds in large installations of such environments. These elements in turn may consist of several hundred or thousands of manageable elements or managed resources such as storage devices, storage and switch ports, database instances, host devices and file systems, and the like. Management of such environments is a daunting task and typically requires Storage Resource Management solutions such as EMC's Control Center (ECC) family of products, available from EMC Corporation of Hopkinton, Mass. ECC includes agents that are deployed on host computer systems in a SAN for the purpose of gathering data about the various managed resources in the SAN. The agents periodically collect network management data on components such as hosts, switches and storage systems that process and persist data, as well as on applications that use persisted information to enable the management of these environments. In other words, agents collect data associated with the managed resources, and that data is inserted into databases for use within Storage Resource Management solutions, such as ECC. ECC identifies the entire process of retrieving the collected data from agents to data persistence as a transaction. Agents collect data periodically, such as nightly, on the resources and engage in a transaction to send the collected data to the ECC repository for access by ECC applications such as console and server processes that allow SAN administrators to manage the SAN.
Typically, in a SAN management application, an agent collects data associated with the managed resources such as data storage systems, hosts, switches and the like. The agent transmits the data to a production database where the data is inserted. As managed object data is inserted into the production database, that data can be displayed on the console for the network manager to view. In some instances, a set of managed object data collected by an agent from a resource such as a Symmetrix disk array system is a very large amount of data to be placed into the production database. In this situation, the agent divides the collected set of data into manageable partitions prior to being transmitted to the production database. The agent then transmits each partition, one by one, to the production database for storage.